Voorbeelden van interrecordfuncties voor grafieken
Voorbeelden van de functie top
In deze voorbeelden wordt de functie top gebruikt, maar ze zijn evenzeer van toepassing op de functies bottom, first en last. Let wel dat de functies first en last alleen relevant zijn voor draaitabellen.
Voorbeeld 1:
Bekijk de volgende standaard tabel, waarbij de functie top wordt gebruikt in een eendimensionale tabel:
Month | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|
- | 21 | 3 | 700% |
1 | 3 | 3 | 100% |
2 | 7 | 3 | 233% |
3 | 11 | 3 | 367% |
Bij een enkele dimensie verwijst de functie top altijd naar de eerste gegevensrij van de tabel (de totaalrij wordt niet opgenomen.)
Uitdrukkingen met de functie top worden ook correct geëvalueerd in de totaalrij, omdat het totaal een duidelijke relatie heeft met een specifiek kolomsegment, in dit geval de hele kolom.
Voorbeeld 2:
Hieronder staat een standaard tabel die primair is gesorteerd op het veld Grp.
Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | 1 |
1 | A | 1 | 1 | 1 |
2 | A | 3 | 1 | 1 |
3 | A | 5 | 1 | 1 |
1 | B | 2 | 2 | 1 |
2 | B | 4 | 2 | 1 |
3 | B | 6 | 2 | 1 |
De functie top zonder de kwalificatie total retourneert nu de geëvalueerde uitdrukking op de bovenste rij in de binnenste sorteergroep (dimensie Grp in dit geval). Er wordt één waarde geretourneerd voor Grp = A en één voor Grp = B.
Door de kwalificatie total te gebruiken in het geval van meerdere dimensies, kunt u opnieuw verwijzen naar de absolute bovenste rij van de tabel met dezelfde geretourneerde waarde voor alle rijen. De uitdrukking wordt uiteraard geëvalueerd voor het kolomsegment dat de hele kolom bestrijkt.
De uitdrukking met de functie top zonder de kwalificatie total wordt geëvalueerd op een NULL-waarde (lege waarde) in de totaalrij, omdat deze niet duidelijk kan worden geassocieerd met een specifiek kolomsegment.
We gaan nu de bovenstaande standaard tabel omzetten in een draaitabel met alle totalen ingeschakeld.
Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
---|---|---|---|---|
1 | A | 1 | 1 | 1 |
1 | B | 2 | 1 | 1 |
1 | Totaal | 3 | 1 | - |
2 | A | 3 | 3 | 1 |
2 | B | 4 | 3 | 1 |
2 | Totaal | 7 | 3 | - |
3 | A | 5 | 5 | 1 |
3 | B | 6 | 5 | 1 |
3 | Totaal | 11 | 5 | - |
Totaal | - | 21 | - | 1 |
De uitdrukking met de functie top zonder de kwalificatie total wordt geëvalueerd op een NULL-waarde (lege waarde) in de totaalrij, omdat deze niet duidelijk kan worden geassocieerd met een specifiek kolomsegment. Alle deelsommen worden echter geëvalueerd voor elk kolomsegment.
De uitdrukking met de kwalificatie total heeft geen waarden in de deeltotalen, maar retourneert een waarde in de rij met het eindtotaal.
Voorbeeld 3:
Bekijk de volgende standaard tabel die primair is gesorteerd op het veld Grp:
Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | - |
1 | A | 1 | 1 | 100% |
2 | A | 3 | 1 | 300% |
3 | A | 5 | 1 | 500% |
1 | B | 2 | 2 | 100% |
2 | B | 4 | 2 | 200% |
3 | B | 6 | 2 | 300% |
Vervolgens kunnen we de sorteervolgorde tussen velden wijzigen en de grafiek eerst op maand sorteren. De tabel ziet er dan als volgt uit:
Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | - |
1 | A | 1 | 1 | 100% |
1 | B | 2 | 1 | 200% |
2 | A | 3 | 3 | 100% |
2 | B | 4 | 3 | 133% |
3 | A | 5 | 5 | 100% |
3 | B | 6 | 5 | 120% |
Voorbeelden van de functie above
In deze voorbeelden wordt de functie above gebruikt, maar ze zijn evenzeer van toepassing op de functies below, before en after. Let wel dat de functies before en after alleen relevant zijn voor draaitabellen.
Voorbeeld 4:
Bekijk de volgende standaard tabel, waarbij de functie above wordt gebruikt in een eendimensionale tabel:
Month | sum(Val) | above(sum(Val)) | sum(Val) / above(sum(Val)) |
---|---|---|---|
- | 21 | - | - |
1 | 3 | - | - |
2 | 7 | 3 | 233% |
3 | 11 | 7 | 157% |
De derde kolom bevat de uitdrukking sum(waarde), die naar één rij boven de huidige rij wordt geëvalueerd. Dit kunt u bevestigen door vergelijking met de waarden voor sum(waarde) in de tweede kolom. De functie above retourneert een NULL-waarde (lege waarde) voor de eerste rij, omdat er geen rij boven is om de uitdrukking naar te evalueren. De functie above retourneert altijd een NULL-waarde (lege waarde) voor alle totaalrijen.
In de vierde kolom ziet u waarvoor deze functie het meest wordt gebruikt: het verschil berekenen tussen bijvoorbeeld verschillende perioden.
Voorbeeld 5:
Bekijk de tweedimensionale draaitabel hieronder:
Grp | Month | sum(Val) | above(sum(Val)) | above(total sum(Val)) |
---|---|---|---|---|
A | 1 | 1 | - | - |
A | 2 | 3 | 1 | 1 |
A | 3 | 5 | 3 | 3 |
A | Totaal | 9 | - | - |
B | 1 | 2 | - | 5 |
B | 2 | 4 | 2 | 2 |
B | 3 | 6 | 4 | 4 |
B | Totaal | 12 | - | - |
Totaal | - | 21 | - | - |
De functie above zonder de kwalificatie total (derde kolom) heeft alleen effect binnen elke sorteergroep. Er wordt een NULL-waarde (lege waarde) geretourneerd voor de bovenste rij van elk kolomsegment.
Wanneer de kwalificatie total wordt toegevoegd (vierde kolom), wordt de hele kolom beschouwd als één kolomsegment. Alleen voor de bovenste rij wordt een NULL-waarde (lege waarde) geretourneerd. Alle totaalrijen worden genegeerd en retourneren NULL-waarden (lege waarden).
Voorbeelden van de functies RowNo en NoOfRows
In dit voorbeeld worden de functies RowNo en NoOfRows gebruikt, maar ze zijn evenzeer van toepassing op de functies ColumnNo en NoOfColumns. Let wel dat de functies ColumnNo en NoOfColumns alleen relevant zijn voor draaitabellen.
Voorbeeld 6:
Bekijk de tweedimensionale draaitabel hieronder:
Month | Grp | RowNo() | RowNo(total) | NoOfRows() | NoOfRows(total) |
---|---|---|---|---|---|
1 | A | 1 | 1 | 2 | 6 |
1 | B | 2 | 2 | 2 | 6 |
1 | Totaal | 0 | - | 2 | - |
2 | A | 1 | 3 | 2 | 6 |
2 | B | 2 | 4 | 2 | 6 |
2 | Totaal | 0 | - | 2 | - |
3 | A | 1 | 5 | 2 | 6 |
3 | B | 2 | 6 | 2 | 6 |
3 | Totaal | 0 | - | 2 | - |
Totaal | - | - | 0 | - | 6 |
- Kolom 3 De functie RowNo retourneert het rijnummer binnen het kolomsegment van elke sorteergroep. In subtotaalrijen wordt het rijnummer 0 geretourneerd, omdat deze totalen duidelijk bij een specifiek kolomsegment horen. In de rij met het eindtotaal wordt een NULL-waarde (lege waarde) geretourneerd.
- Kolom 4 Met de kwalificatie total retourneert RowNo het rijnummer binnen de hele kolom. In subtotaalrijen wordt een NULL-waarde (lege waarde) geretourneerd. In de rij met het eindtotaal wordt 0 geretourneerd.
- Kolom 5 De functie NoOfRows retourneert het aantal gegevensrijen binnen het kolomsegment van elke sorteergroep. In de subtotaalrijen wordt hetzelfde aantal geretourneerd als in gegevensrijen. In de rij met het eindtotaal wordt een NULL-waarde (lege waarde) geretourneerd.
- Kolom 6 Met de kwalificatie total retourneert de functie NoOfRows het aantal gegevensrijen binnen de hele kolom, wat gelijk is aan wat in de rij met het eindtotaal wordt geretourneerd. In subtotaalrijen wordt een NULL-waarde (lege waarde) geretourneerd.